﻿//1759. 统计同质子字符串的数目
//给你一个字符串 s ，返回 s 中 同质子字符串 的数目。由于答案可能很大，只需返回对 109 + 7 取余 后的结果。
//同质字符串 的定义为：如果一个字符串中的所有字符都相同，那么该字符串就是同质字符串。
//子字符串 是字符串中的一个连续字符序列。

class Solution {
public:
    long long e = 1e9 + 7;
    int countHomogenous(string s)
    {
        int n = s.size();
        int ans = 0;
        for (int i = 0; i < n;)
        {
            int j = i;
            while (j < n && s[j] == s[i])
            {
                j++;
            }
            long long x = 1L * (j - i) * (j - i + 1) / 2;
            ans = (ans + x) % e;
            i = j;
        }
        return ans;
    }
};